home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Authority.sea / XML Authority / Required / Samples / Card Samples / card.xsd < prev    next >
Encoding:
Extensible Markup Language  |  2000-05-03  |  17.1 KB  |  368 lines  |  [TEXT/XMLA]

  1. <?xml version ="1.0"?>
  2. <!--Generated by XML Authority. Conforms to XML Data subset for IE 5-->
  3. <Schema name = "card3.xsd"
  4.      xmlns = "urn:schemas-microsoft-com:xml-data"
  5.      xmlns:dt = "urn:schemas-microsoft-com:datatypes">
  6.     <description> this is the CARD (Commerce Accelerated Relational Data) schema version 1.0 </description>
  7.     <description> Copyright (C) 2000, infoShark, inc. </description>
  8.     <description> The main goal of this schema is to provide a common means for 
  9. describing a relational database's structure and data so that 
  10. relational databases, non-relational data stores, and software 
  11. applications could easily consume it.  Documents adhering to 
  12. this schema can provide all the necessary information to recreate 
  13. relational databases and populate them with their data.  This 
  14. information includes such things as primary/foreign key 
  15. relationships, indices, and native datatypes.  A secondary 
  16. goal of this XML schema is to provide a simple mechanism for 
  17. specifying the price of individual data points (the data found 
  18. in a given row and column).  It is infoShark's vision that 
  19. this schema would further facilitate the extraction, 
  20. transformation, and loading of data across various 
  21. Web-enabled products. 
  22.     </description>
  23.     <ElementType name = "card" content = "eltOnly" order = "seq">
  24.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  25.         <AttributeType name = "distributer" dt:type = "string" required = "yes"/>
  26.         <AttributeType name = "currencyValue" dt:type = "string" required = "yes"/>
  27.         <AttributeType name = "currencyCode" dt:type = "string" required = "yes"/>
  28.         <AttributeType name = "description" dt:type = "string" required = "yes"/>
  29.         <attribute type = "name"/>
  30.         <attribute type = "distributer"/>
  31.         <attribute type = "currencyValue"/>
  32.         <attribute type = "currencyCode"/>
  33.         <attribute type = "description"/>
  34.         <element type = "dbStructures" minOccurs = "0" maxOccurs = "1"/>
  35.         <element type = "existingData" minOccurs = "0" maxOccurs = "1"/>
  36.         <element type = "alterData" minOccurs = "0" maxOccurs = "1"/>
  37.     </ElementType>
  38.     
  39.     <ElementType name = "dbStructures" content = "eltOnly" order = "seq">
  40.         <AttributeType name = "currencyValue" dt:type = "string"/>
  41.         <AttributeType name = "currencyCode" dt:type = "string"/>
  42.         <AttributeType name = "description" dt:type = "string"/>
  43.         <attribute type = "currencyValue"/>
  44.         <attribute type = "currencyCode"/>
  45.         <attribute type = "description"/>
  46.         <element type = "dbStructure" minOccurs = "1" maxOccurs = "*"/>
  47.     </ElementType>
  48.     
  49.     <ElementType name = "dbStructure" content = "eltOnly" order = "seq">
  50.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  51.         <AttributeType name = "author" dt:type = "string"/>
  52.         <AttributeType name = "dbType" dt:type = "string"/>
  53.         <AttributeType name = "dbVersion" dt:type = "string"/>
  54.         <AttributeType name = "extractDatetime" dt:type = "string" required = "yes"/>
  55.         <AttributeType name = "currencyValue" dt:type = "string"/>
  56.         <AttributeType name = "currencyCode" dt:type = "string"/>
  57.         <AttributeType name = "description" dt:type = "string"/>
  58.         <attribute type = "name"/>
  59.         <attribute type = "author"/>
  60.         <attribute type = "dbType"/>
  61.         <attribute type = "dbVersion"/>
  62.         <attribute type = "extractDatetime"/>
  63.         <attribute type = "currencyValue"/>
  64.         <attribute type = "currencyCode"/>
  65.         <attribute type = "description"/>
  66.         <element type = "dbSchemata"/>
  67.     </ElementType>
  68.     
  69.     <ElementType name = "dbSchemata" content = "eltOnly" order = "seq">
  70.         <element type = "dbSchema" minOccurs = "1" maxOccurs = "*"/>
  71.     </ElementType>
  72.     
  73.     <ElementType name = "dbSchema" content = "eltOnly" order = "seq">
  74.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  75.         <AttributeType name = "author" dt:type = "string"/>
  76.         <AttributeType name = "currencyValue" dt:type = "string"/>
  77.         <AttributeType name = "currencyCode" dt:type = "string"/>
  78.         <AttributeType name = "description" dt:type = "string"/>
  79.         <AttributeType name = "structureRecreationFile" dt:type = "string"/>
  80.         <attribute type = "name"/>
  81.         <attribute type = "author"/>
  82.         <attribute type = "currencyValue"/>
  83.         <attribute type = "currencyCode"/>
  84.         <attribute type = "description"/>
  85.         <attribute type = "structureRecreationFile"/>
  86.         <element type = "tables"/>
  87.         <element type = "indices"/>
  88.         <element type = "sequences"/>
  89.     </ElementType>
  90.     
  91.     <ElementType name = "tables" content = "eltOnly" order = "seq">
  92.         <element type = "table" minOccurs = "0" maxOccurs = "*"/>
  93.     </ElementType>
  94.     
  95.     <ElementType name = "table" content = "eltOnly" order = "seq">
  96.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  97.         <AttributeType name = "author" dt:type = "string"/>
  98.         <AttributeType name = "currencyValue" dt:type = "string"/>
  99.         <AttributeType name = "currencyCode" dt:type = "string"/>
  100.         <AttributeType name = "description" dt:type = "string"/>
  101.         <attribute type = "name"/>
  102.         <attribute type = "author"/>
  103.         <attribute type = "currencyValue"/>
  104.         <attribute type = "currencyCode"/>
  105.         <attribute type = "description"/>
  106.         <element type = "columns"/>
  107.         <element type = "keys"/>
  108.         <element type = "checkConstraints"/>
  109.     </ElementType>
  110.     
  111.     <ElementType name = "columns" content = "eltOnly" order = "seq">
  112.         <element type = "column" minOccurs = "1" maxOccurs = "*"/>
  113.     </ElementType>
  114.     
  115.     <ElementType name = "column" content = "empty">
  116.         <description> Here is a listing of where each of the datatypes originated
  117. oracle datatypes:
  118. bfile, blob, char, clob, date, decimal, float, integer, long, long-raw, long-varchar, mlslabel, nchar, nclob, nvarchar2, number, raw, raw-mlslabel, rowid, smallint, user-defined, varchar, varchar2
  119.  
  120. sqlserver datatypes:
  121. binary, bit, char, datetime, decimal, float, image, int, money, numeric, real, smalldatetime, smallint, smallmoney, text, timestamp, tinyint, user-defined, varbinary, varchar
  122.  
  123. access datatypes:
  124. autonumber, currency, date-time, hyperlink, lookup-wizard, memo, numbers, ole-object, text, yes-no
  125.  
  126.         </description>
  127.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  128.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  129.         <AttributeType name = "nativeType" dt:type = "enumeration" dt:values = "autonumber bfile binary bit blob char clob currency date datetime date-time decimal float hyperlink image int integer long long-raw long-varchar lookup-wizard memo mlslabel money nchar nclob number numbers numeric nvarchar2 ole-object raw raw-mlslabel real rowid smalldatetime smallint smallmoney text timestamp tinyint user-defined varbinary varchar varchar2 yes-no" required = "yes"/>
  130.         <AttributeType name = "precision" dt:type = "string"/>
  131.         <AttributeType name = "scale" dt:type = "string"/>
  132.         <AttributeType name = "length" dt:type = "string"/>
  133.         <AttributeType name = "defaultValue" dt:type = "string"/>
  134.         <AttributeType name = "nullable" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  135.         <AttributeType name = "commonName" dt:type = "string"/>
  136.         <AttributeType name = "currencyValue" dt:type = "string"/>
  137.         <AttributeType name = "currencyCode" dt:type = "string"/>
  138.         <AttributeType name = "description" dt:type = "string"/>
  139.         <attribute type = "name"/>
  140.         <attribute type = "linkName"/>
  141.         <attribute type = "nativeType"/>
  142.         <attribute type = "precision"/>
  143.         <attribute type = "scale"/>
  144.         <attribute type = "length"/>
  145.         <attribute type = "defaultValue"/>
  146.         <attribute type = "nullable"/>
  147.         <attribute type = "commonName"/>
  148.         <attribute type = "currencyValue"/>
  149.         <attribute type = "currencyCode"/>
  150.         <attribute type = "description"/>
  151.     </ElementType>
  152.     
  153.     <ElementType name = "keys" content = "eltOnly" order = "seq">
  154.         <element type = "primaryKey" minOccurs = "0" maxOccurs = "1"/>
  155.         <element type = "foreignKey" minOccurs = "0" maxOccurs = "*"/>
  156.         <element type = "uniqueKey" minOccurs = "0" maxOccurs = "*"/>
  157.     </ElementType>
  158.     
  159.     <ElementType name = "primaryKey" content = "eltOnly" order = "seq">
  160.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  161.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  162.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  163.         <attribute type = "name"/>
  164.         <attribute type = "linkName"/>
  165.         <attribute type = "enabled"/>
  166.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  167.     </ElementType>
  168.     
  169.     <ElementType name = "columnLink" content = "empty">
  170.         <AttributeType name = "columnLinkName" dt:type = "idref" required = "yes"/>
  171.         <attribute type = "columnLinkName"/>
  172.     </ElementType>
  173.     
  174.     <ElementType name = "foreignKey" content = "eltOnly" order = "seq">
  175.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  176.         <AttributeType name = "keyLinkName" dt:type = "idref" required = "yes"/>
  177.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  178.         <AttributeType name = "cascadeDelete" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  179.         <attribute type = "name"/>
  180.         <attribute type = "keyLinkName"/>
  181.         <attribute type = "enabled"/>
  182.         <attribute type = "cascadeDelete"/>
  183.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  184.     </ElementType>
  185.     
  186.     <ElementType name = "uniqueKey" content = "eltOnly" order = "seq">
  187.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  188.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  189.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  190.         <attribute type = "name"/>
  191.         <attribute type = "linkName"/>
  192.         <attribute type = "enabled"/>
  193.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  194.     </ElementType>
  195.     
  196.     <ElementType name = "checkConstraints" content = "eltOnly" order = "seq">
  197.         <element type = "checkConstraint" minOccurs = "0" maxOccurs = "*"/>
  198.     </ElementType>
  199.     
  200.     <ElementType name = "checkConstraint" content = "eltOnly" order = "seq">
  201.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  202.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  203.         <attribute type = "name"/>
  204.         <attribute type = "enabled"/>
  205.         <element type = "checkConstraintValue"/>
  206.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  207.     </ElementType>
  208.     
  209.     <ElementType name = "checkConstraintValue" content = "textOnly">
  210.         <AttributeType name = "language" dt:type = "string"/>
  211.         <attribute type = "language"/>
  212.     </ElementType>
  213.     
  214.     <ElementType name = "indices" content = "eltOnly" order = "seq">
  215.         <element type = "index" minOccurs = "0" maxOccurs = "*"/>
  216.     </ElementType>
  217.     
  218.     <ElementType name = "index" content = "eltOnly" order = "seq">
  219.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  220.         <AttributeType name = "unique" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  221.         <AttributeType name = "sorting" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  222.         <AttributeType name = "order" dt:type = "enumeration" dt:values = "ascending descending" required = "yes"/>
  223.         <attribute type = "name"/>
  224.         <attribute type = "unique"/>
  225.         <attribute type = "sorting"/>
  226.         <attribute type = "order"/>
  227.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  228.     </ElementType>
  229.     
  230.     <ElementType name = "sequences" content = "eltOnly" order = "seq">
  231.         <element type = "sequence" minOccurs = "0" maxOccurs = "*"/>
  232.     </ElementType>
  233.     
  234.     <ElementType name = "sequence" content = "textOnly">
  235.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  236.         <AttributeType name = "startingValue" dt:type = "string" required = "yes"/>
  237.         <AttributeType name = "endingValue" dt:type = "string" required = "yes"/>
  238.         <AttributeType name = "stepValue" dt:type = "string" required = "yes"/>
  239.         <AttributeType name = "cycle" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  240.         <attribute type = "name"/>
  241.         <attribute type = "startingValue"/>
  242.         <attribute type = "endingValue"/>
  243.         <attribute type = "stepValue"/>
  244.         <attribute type = "cycle"/>
  245.     </ElementType>
  246.     
  247.     <ElementType name = "existingData" content = "eltOnly" order = "seq">
  248.         <AttributeType name = "currencyValue" dt:type = "string"/>
  249.         <AttributeType name = "currencyCode" dt:type = "string"/>
  250.         <AttributeType name = "description" dt:type = "string"/>
  251.         <attribute type = "currencyValue"/>
  252.         <attribute type = "currencyCode"/>
  253.         <attribute type = "description"/>
  254.         <element type = "rows" minOccurs = "1" maxOccurs = "*"/>
  255.     </ElementType>
  256.     
  257.     <ElementType name = "rows" content = "eltOnly" order = "seq">
  258.         <AttributeType name = "dbStructureName" dt:type = "string" required = "yes"/>
  259.         <AttributeType name = "dbSchemaName" dt:type = "string" required = "yes"/>
  260.         <AttributeType name = "tableName" dt:type = "string" required = "yes"/>
  261.         <AttributeType name = "currencyValue" dt:type = "string"/>
  262.         <AttributeType name = "currencyCode" dt:type = "string"/>
  263.         <AttributeType name = "description" dt:type = "string"/>
  264.         <attribute type = "dbStructureName"/>
  265.         <attribute type = "dbSchemaName"/>
  266.         <attribute type = "tableName"/>
  267.         <attribute type = "currencyValue"/>
  268.         <attribute type = "currencyCode"/>
  269.         <attribute type = "description"/>
  270.         <element type = "row" minOccurs = "0" maxOccurs = "*"/>
  271.     </ElementType>
  272.     
  273.     <ElementType name = "row" content = "eltOnly" order = "seq">
  274.         <AttributeType name = "uniqueID" dt:type = "id" required = "yes"/>
  275.         <AttributeType name = "currencyValue" dt:type = "string"/>
  276.         <AttributeType name = "currencyCode" dt:type = "string"/>
  277.         <AttributeType name = "description" dt:type = "string"/>
  278.         <attribute type = "uniqueID"/>
  279.         <attribute type = "currencyValue"/>
  280.         <attribute type = "currencyCode"/>
  281.         <attribute type = "description"/>
  282.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  283.     </ElementType>
  284.     
  285.     <ElementType name = "columnValue" content = "textOnly">
  286.         <AttributeType name = "columnName" dt:type = "string" required = "yes"/>
  287.         <AttributeType name = "isNull" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  288.         <AttributeType name = "currencyValue" dt:type = "string"/>
  289.         <AttributeType name = "currencyCode" dt:type = "string"/>
  290.         <AttributeType name = "description" dt:type = "string"/>
  291.         <attribute type = "columnName"/>
  292.         <attribute type = "isNull"/>
  293.         <attribute type = "currencyValue"/>
  294.         <attribute type = "currencyCode"/>
  295.         <attribute type = "description"/>
  296.     </ElementType>
  297.     
  298.     <ElementType name = "alterData" content = "eltOnly" order = "seq">
  299.         <AttributeType name = "currencyValue" dt:type = "string"/>
  300.         <AttributeType name = "currencyCode" dt:type = "string"/>
  301.         <AttributeType name = "description" dt:type = "string"/>
  302.         <attribute type = "currencyValue"/>
  303.         <attribute type = "currencyCode"/>
  304.         <attribute type = "description"/>
  305.         <element type = "data" minOccurs = "1" maxOccurs = "*"/>
  306.     </ElementType>
  307.     
  308.     <ElementType name = "data" content = "eltOnly" order = "seq">
  309.         <AttributeType name = "dbStructureName" dt:type = "string" required = "yes"/>
  310.         <AttributeType name = "dbSchemaName" dt:type = "string" required = "yes"/>
  311.         <AttributeType name = "tableName" dt:type = "string" required = "yes"/>
  312.         <AttributeType name = "currencyValue" dt:type = "string"/>
  313.         <AttributeType name = "currencyCode" dt:type = "string"/>
  314.         <AttributeType name = "description" dt:type = "string"/>
  315.         <attribute type = "dbStructureName"/>
  316.         <attribute type = "dbSchemaName"/>
  317.         <attribute type = "tableName"/>
  318.         <attribute type = "currencyValue"/>
  319.         <attribute type = "currencyCode"/>
  320.         <attribute type = "description"/>
  321.         <element type = "insertData" minOccurs = "0" maxOccurs = "*"/>
  322.         <element type = "deleteData" minOccurs = "0" maxOccurs = "*"/>
  323.         <element type = "updateData" minOccurs = "0" maxOccurs = "*"/>
  324.     </ElementType>
  325.     
  326.     <ElementType name = "insertData" content = "eltOnly" order = "seq">
  327.         <AttributeType name = "currencyValue" dt:type = "string"/>
  328.         <AttributeType name = "currencyCode" dt:type = "string"/>
  329.         <AttributeType name = "description" dt:type = "string"/>
  330.         <attribute type = "currencyValue"/>
  331.         <attribute type = "currencyCode"/>
  332.         <attribute type = "description"/>
  333.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  334.     </ElementType>
  335.     
  336.     <ElementType name = "deleteData" content = "eltOnly" order = "seq">
  337.         <AttributeType name = "currencyValue" dt:type = "string"/>
  338.         <AttributeType name = "currencyCode" dt:type = "string"/>
  339.         <AttributeType name = "description" dt:type = "string"/>
  340.         <attribute type = "currencyValue"/>
  341.         <attribute type = "currencyCode"/>
  342.         <attribute type = "description"/>
  343.         <element type = "columnValue" minOccurs = "0" maxOccurs = "*"/>
  344.     </ElementType>
  345.     
  346.     <ElementType name = "updateData" content = "eltOnly" order = "seq">
  347.         <AttributeType name = "currencyValue" dt:type = "string"/>
  348.         <AttributeType name = "currencyCode" dt:type = "string"/>
  349.         <AttributeType name = "description" dt:type = "string"/>
  350.         <attribute type = "currencyValue"/>
  351.         <attribute type = "currencyCode"/>
  352.         <attribute type = "description"/>
  353.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  354.         <element type = "previousData" minOccurs = "0" maxOccurs = "1"/>
  355.     </ElementType>
  356.     
  357.     <ElementType name = "previousData" content = "eltOnly" order = "seq">
  358.         <AttributeType name = "currencyValue" dt:type = "string"/>
  359.         <AttributeType name = "currencyCode" dt:type = "string"/>
  360.         <AttributeType name = "description" dt:type = "string"/>
  361.         <attribute type = "currencyValue"/>
  362.         <attribute type = "currencyCode"/>
  363.         <attribute type = "description"/>
  364.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  365.     </ElementType>
  366.     
  367. </Schema>
  368.